Telegram Group & Telegram Channel
📝 Контроль объема логов в .NET-приложениях

В больших приложениях поток логов может быть огромным — это перегружает хранилище и снижает производительность.

Полное отключение детальных логов — плохое решение, ведь важные данные могут потеряться. Лучше использовать выборочное логирование.

.NET теперь поддерживает несколько стратегий выборочного логирования:

• Случайная выборка по вероятности

• Выборка по трассировке

• Пользовательские сэмплеры для гибкой настройки

Пример простого пользовательского сэмплера для .NET, который ограничивает вывод логов до примерно 1 сообщения в секунду:
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
var key = eventId.Id.ToString();

var now = DateTime.UtcNow;

var lastTime = _lastLoggedTimes.GetOrAdd(key, DateTime.MinValue);

if ((now - lastTime) >= _interval)
{
_lastLoggedTimes[key] = now;

var message = formatter(state, exception);
Console.WriteLine($"[{now:O}] {logLevel}: {message}");
// Здесь вместо Console.WriteLine — вызов реального логгера
}
else
{
// Пропускаем лог, чтобы не создавать слишком много записей
}
}


Это может снизить затраты на хранение и обработку логов без потери ключевой информации.

➡️ Блог разработчиков .NET

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/csharpproglib/5908
Create:
Last Update:

📝 Контроль объема логов в .NET-приложениях

В больших приложениях поток логов может быть огромным — это перегружает хранилище и снижает производительность.

Полное отключение детальных логов — плохое решение, ведь важные данные могут потеряться. Лучше использовать выборочное логирование.

.NET теперь поддерживает несколько стратегий выборочного логирования:

• Случайная выборка по вероятности

• Выборка по трассировке

• Пользовательские сэмплеры для гибкой настройки

Пример простого пользовательского сэмплера для .NET, который ограничивает вывод логов до примерно 1 сообщения в секунду:

public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
var key = eventId.Id.ToString();

var now = DateTime.UtcNow;

var lastTime = _lastLoggedTimes.GetOrAdd(key, DateTime.MinValue);

if ((now - lastTime) >= _interval)
{
_lastLoggedTimes[key] = now;

var message = formatter(state, exception);
Console.WriteLine($"[{now:O}] {logLevel}: {message}");
// Здесь вместо Console.WriteLine — вызов реального логгера
}
else
{
// Пропускаем лог, чтобы не создавать слишком много записей
}
}


Это может снизить затраты на хранение и обработку логов без потери ключевой информации.

➡️ Блог разработчиков .NET

🐸Библиотека шарписта #буст

BY Библиотека шарписта | C#, F#, .NET, ASP.NET




Share with your friend now:
tg-me.com/csharpproglib/5908

View MORE
Open in Telegram


Библиотека шарписта | C F NET ASP NET Telegram | DID YOU KNOW?

Date: |

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

Библиотека шарписта | C F NET ASP NET from br


Telegram Библиотека шарписта | C#, F#, .NET, ASP.NET
FROM USA